#include "Pasillo.h"

Pasillo::Pasillo()
{
    nombre = "desconocido";
    numero = 0;
    tipoProductos = new ListaCircular<TipoProducto>();
}


Pasillo::Pasillo(string nom,int num ) 
{
    nombre = nom;
    numero = num;
    tipoProductos = new ListaCircular<TipoProducto>();
}

Pasillo::Pasillo(const Pasillo& orig) {
}

Pasillo::~Pasillo() {
    delete tipoProductos;
}

void Pasillo::setNombre(string nombre) {
    this->nombre = nombre;
}

string Pasillo::getNombre() const {
    return nombre;
}

void Pasillo::setNumero(int numero) {
    this->numero = numero;
}

int Pasillo::getNumero() const {
    return numero;
}

string Pasillo::toString()
{
    stringstream s;
    s<<"Pasillo: "<<"\nNumero: " << numero <<
            "\nNombre: " << nombre <<
            "\nLista de tipos de productos: \n"<<tipoProductos->toString();
    return s.str();
}

bool Pasillo::operator ==(int num)
{
    return num==numero;
}

ListaCircular<TipoProducto>* Pasillo::getListaCircular()
{
    return tipoProductos;
}

void Pasillo::setTipoProductos(ListaCircular<TipoProducto>* tipoProductos) {
    this->tipoProductos = tipoProductos;
}

ListaCircular<TipoProducto>* Pasillo::getTipoProductos() const {
    return tipoProductos;
}

ostream& operator <<(ostream& os, const Pasillo& p)
{
	return os<<p.nombre<<endl<<p.numero<<endl;
}
 istream& operator >>(istream& is, Pasillo& p)
{
	//is.ignore();
//    char nom[100];
//	is.getline(nom,100);
//	p.nombre = nom;
    is>>p.nombre;
    is>>p.numero;
 
	return is;
}